using System;
using System.Collections.Generic;
using ns26;
using ns27;

namespace Triton.Game.Mapping
{
	[Attribute38("Store")]
	public class Store : UIBPopup
	{
		public enum BuyButtonState
		{
			ENABLED,
			DISABLED_NOT_ENOUGH_GOLD,
			DISABLED_FEATURE,
			DISABLED,
			DISABLED_OWNED,
			DISABLED_NO_TOOLTIP
		}

		public GameObject m_root => method_3<GameObject>("m_root");

		public GameObject m_cover => method_3<GameObject>("m_cover");

		public UIBButton m_buyWithMoneyButton => method_3<UIBButton>("m_buyWithMoneyButton");

		public TooltipZone m_buyWithMoneyTooltip => method_3<TooltipZone>("m_buyWithMoneyTooltip");

		public PegUIElement m_buyWithMoneyTooltipTrigger => method_3<PegUIElement>("m_buyWithMoneyTooltipTrigger");

		public UIBButton m_buyWithGoldButton => method_3<UIBButton>("m_buyWithGoldButton");

		public TooltipZone m_buyWithGoldTooltip => method_3<TooltipZone>("m_buyWithGoldTooltip");

		public PegUIElement m_buyWithGoldTooltipTrigger => method_3<PegUIElement>("m_buyWithGoldTooltipTrigger");

		public UIBButton m_infoButton => method_3<UIBButton>("m_infoButton");

		public List<MeshRenderer> m_goldButtonMeshes => method_3<Class271<MeshRenderer>>("m_goldButtonMeshes")?.method_25();

		public Material m_enabledGoldButtonMaterial => method_3<Material>("m_enabledGoldButtonMaterial");

		public Material m_disabledGoldButtonMaterial => method_3<Material>("m_disabledGoldButtonMaterial");

		public List<MeshRenderer> m_moneyButtonMeshes => method_3<Class271<MeshRenderer>>("m_moneyButtonMeshes")?.method_25();

		public Material m_enabledMoneyButtonMaterial => method_3<Material>("m_enabledMoneyButtonMaterial");

		public Material m_disabledMoneyButtonMaterial => method_3<Material>("m_disabledMoneyButtonMaterial");

		public PegUIElement m_offClicker => method_3<PegUIElement>("m_offClicker");

		public bool m_buyButtonsEnabled => method_2<bool>("m_buyButtonsEnabled");

		public StoreType m_storeType => method_2<StoreType>("m_storeType");

		public BuyButtonState m_moneyButtonState => method_2<BuyButtonState>("m_moneyButtonState");

		public BuyButtonState m_goldButtonState => method_2<BuyButtonState>("m_goldButtonState");

		public Store(IntPtr address, string className)
			: base(address, className)
		{
		}

		public Store(IntPtr address)
			: this(address, "Store")
		{
		}

		public void Awake()
		{
			method_8("Awake");
		}

		public void Start()
		{
			method_8("Start");
		}

		public void OnDestroy()
		{
			method_8("OnDestroy");
		}

		public void OnGoldBalanceChanged(NetCache.NetCacheGoldBalance balance)
		{
			method_8("OnGoldBalanceChanged", balance);
		}

		public void OnGoldSpent()
		{
			method_8("OnGoldSpent");
		}

		public void OnMoneySpent()
		{
			method_8("OnMoneySpent");
		}

		public void Close()
		{
			method_8("Close");
		}

		public void SetStoreType(StoreType storeType)
		{
			method_8("SetStoreType", storeType);
		}

		public StoreType GetStoreType()
		{
			return method_11<StoreType>("GetStoreType", Array.Empty<object>());
		}

		public bool IsReady()
		{
			return method_11<bool>("IsReady", Array.Empty<object>());
		}

		public bool IsCovered()
		{
			return method_11<bool>("IsCovered", Array.Empty<object>());
		}

		public void ActivateCover(bool coverActive)
		{
			method_8("ActivateCover", coverActive);
		}

		public void EnableClickCatcher(bool enabled)
		{
			method_8("EnableClickCatcher", enabled);
		}

		public void BuyWithGold(UIEvent e)
		{
			method_8("BuyWithGold", e);
		}

		public void BuyWithMoney(UIEvent e)
		{
			method_8("BuyWithMoney", e);
		}

		public void FireExitEvent(bool authorizationBackButtonPressed)
		{
			method_8("FireExitEvent", authorizationBackButtonPressed);
		}

		public void EnableFullScreenEffects(bool enable)
		{
			method_8("EnableFullScreenEffects", enable);
		}

		public void FireBuyWithMoneyEvent(string productID, int quantity)
		{
			method_8("FireBuyWithMoneyEvent", productID, quantity);
		}

		public void FireBuyWithGoldEventGTAPP(string productID, int quantity)
		{
			method_8("FireBuyWithGoldEventGTAPP", productID, quantity);
		}

		public void FireBuyWithGoldEventNoGTAPP(NoGTAPPTransactionData noGTAPPTransactionData)
		{
			method_8("FireBuyWithGoldEventNoGTAPP", noGTAPPTransactionData);
		}

		public void SetGoldButtonState(BuyButtonState state)
		{
			method_8("SetGoldButtonState", state);
		}

		public void SetMoneyButtonState(BuyButtonState state)
		{
			method_8("SetMoneyButtonState", state);
		}

		public bool AllowBuyingWithGold()
		{
			return method_11<bool>("AllowBuyingWithGold", Array.Empty<object>());
		}

		public bool AllowBuyingWithMoney()
		{
			return method_11<bool>("AllowBuyingWithMoney", Array.Empty<object>());
		}

		public bool CanShowBuyWithGoldTooltip()
		{
			return method_11<bool>("CanShowBuyWithGoldTooltip", Array.Empty<object>());
		}

		public bool CanShowBuyWithMoneyTooltip()
		{
			return method_11<bool>("CanShowBuyWithMoneyTooltip", Array.Empty<object>());
		}

		public void EnableBuyButtons(bool buyButtonsEnabled)
		{
			method_8("EnableBuyButtons", buyButtonsEnabled);
		}

		public void UpdateBuyButtonsState()
		{
			method_8("UpdateBuyButtonsState");
		}

		public void OnShowBuyWithMoneyTooltip(UIEvent e)
		{
			method_8("OnShowBuyWithMoneyTooltip", e);
		}

		public void OnShowBuyWithGoldTooltip(UIEvent e)
		{
			method_8("OnShowBuyWithGoldTooltip", e);
		}

		public void ShowBuyTooltip(TooltipZone tooltipZone, string tooltipText, BuyButtonState buttonState)
		{
			method_8("ShowBuyTooltip", tooltipZone, tooltipText, buttonState);
		}

		public void OnHideBuyWithMoneyTooltip(UIEvent e)
		{
			method_8("OnHideBuyWithMoneyTooltip", e);
		}

		public void OnHideBuyWithGoldTooltip(UIEvent e)
		{
			method_8("OnHideBuyWithGoldTooltip", e);
		}

		public void OnBuyWithGoldPressed(UIEvent e)
		{
			method_8("OnBuyWithGoldPressed", e);
		}

		public void OnBuyWithMoneyPressed(UIEvent e)
		{
			method_8("OnBuyWithMoneyPressed", e);
		}

		public void OnInfoPressed(UIEvent e)
		{
			method_8("OnInfoPressed", e);
		}

		public string GetOwnedTooltipString()
		{
			return method_13("GetOwnedTooltipString");
		}

		public string GetBuyButtonTooltipMessage(BuyButtonState state)
		{
			return method_13("GetBuyButtonTooltipMessage", state);
		}
	}
}
